using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace PeDALS.Tools.AZ.PSTArchive.PSTData
{
    public class SIEntry
    {
        private UInt64 m64NIDraw;
        private UInt64 m64BIDraw;

        public SIEntry(UInt64 ui64NIDraw, UInt64 ui64BIDraw)
        {
            m64NIDraw = ui64NIDraw;
            m64BIDraw = ui64BIDraw;
        }

        public UInt64 NIDraw
        {
            get { return m64NIDraw; }
        }

        public UInt64 NID
        {
            get { return m64NIDraw >> 5; }
        }

        public NIDTypes NIDType
        {
            get { return (NIDTypes)(m64NIDraw & 0x1f); }
        }

        public UInt64 BIDraw
        {
            get { return m64BIDraw; }
        }

        public UInt64 BID
        {
            get { return m64BIDraw >> 2; }
        }

        public bool Reserved
        {
            get { return Convert.ToBoolean(m64BIDraw & 0x1); }
        }

        public bool Internal
        {
            get { return Convert.ToBoolean((m64BIDraw & 0x2) >> 1); }
        }
    }
}
